home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 1
/
Cream of the Crop 1.iso
/
UTILITY
/
MEM2.ARJ
/
MEM2.DOC
next >
Wrap
Text File
|
1991-06-29
|
3KB
|
61 lines
About MEM2 (in library 2 as MEM2.ZIP).
Why MEM2?
---------
MEM2 was written to solve a mystery: Some time ago we noted that there were
apparent speed variations between different CPUs which had the same nominal
clock rate. Yet speed-measuring utilities (like Norton) reported that these
machines were all operating at the same clock rate, so we were mystified.
A Word On Computer Architecture
-------------------------------
The chips used to create PC memory typically operate at speeds between
80 and 120 ns. If your CPU is operating at 33 Mhz, that's about 30ns per
machine cycle. Therefore, your RAM chips operate between 2.5 and 3.5 SLOWER
than the CPU.
One of the jobs a computer architect has is to somehow cause your machine to
run AS IF its memory was fast enough to keep up with the CPU. This is
accomplished by hardware caches consisting of small amounts of very high speed
memory. Such caches are designed with widely varying degrees of sophistication
and competence.
Now most CPU speed-measuring utilities perform rather naive tests of CPU
speed. And, you may be sure that the computer vendors take care to insure
that the most commonly used programs show their machines in a good light.
However, in REAL applications major differences emerge.
On a well engineered machine like, say, a Compaq, the nominal CPU clock rate
will actually be achieved in normal operation. On some cut-rate machines with
small or badly implemented caches, extra memory wait states must be inserted
to compensate for shoddy or inexpensive (cheap?) designs.
The bottom line: you don't always get the performance you're paying for.
What MEM2 Does
--------------
MEM2 tests memory performance by performing 4095 byte block moves across all
of memory. Of course, memory references across a broad range of addresses
are much more typical of real operation than more narrow tests.
The exact number of machine cycles required for these operations is calculated
in advance. Then the operation is timed using the high-resolution timer.
Next, this time is divided by the known number of machine cycles required to
execute the operation. This yields the effective CPU clock rate which is
reported.
Most machines show effective clock rates in the vicinity of the nominal clock
rate; the best engineered machines match exactly. Unfortunately however,
we've seen effective clock rates as poor as 1/3 the nominal clock rate
(i.e. a supposed 33MHz machine which actually performs like an 11 or 12 MHz
machine).
The results are automatically scaled to reflect the differences between 386
and 486 processors. However, if you run on a 386sx you'll have to multiply
the clock rate the program calculates by 2.5 to scale it properly for a 386sx.
(On a 486 the instruction we're timing takes 3 cycles per iteration, on a 386
it takes 4 cycles, and on a 386sx it takes 10 cycles).
We've found that MEM2 yields results that closely match our subjective
impressions of machines we've tested.